#include "utils.h"
/* 跳过空格：私有函数 
 * 返回值：指向第一个值不是空格的地址*/
// static char *skipSpace(char *ptr){
//         while(*ptr == ' '){
//             ptr++;
//         }
//         return ptr;
// }

/* 提取文件名：私有函数 */
// static char *extractFilename(char *fileName){
//     // 跳过命令前面可能存在的空格
//     fileName = skipSpace(fileName);

//     // 跳过put命令头
//     while(*fileName != ' '){
//         fileName++;
//     }
    
//     // 跳过put后面的空格
//     fileName = skipSpace(fileName);

//     // 返回指向文件名的首地址
//     return fileName; 
// }
// 上传文件
void putFile(int netFd, char *parameter){

    // 处理命令put file（截取文件名）
    char *fileName = parameter; // 命令字符串的首地址

    // 打开文件
    int fileFd = open(fileName, O_RDWR);
    // ERROR_CHECK(fileFd, -1, "open file");

    // 发送文件大小
    struct stat statFile;
    fstat(fileFd, &statFile); // 获取文件信息，存放在statFile中
    send(netFd, &statFile.st_size, sizeof(off_t), 0); // 发送文件大小
    // ERROR_CHECK(ret3, -1, "send fileSize");

    // 发送文件
    sendfile(netFd, fileFd, NULL, statFile.st_size); 

    close(fileFd); // 回收资源
}
